home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 1 / Cream of the Crop 1.iso / PROGRAM / CKIT210.ARJ / HISTORY < prev    next >
Text File  |  1991-12-22  |  29KB  |  661 lines

  1.                                  RELEASE HISTORY
  2.                                  =============== 
  3. 12-15-91 v2.10
  4.  
  5. -  Changed the way CKIT was handling the speaker beep
  6.    on keyboard timeout beeps.
  7.  
  8. -  Added ck_NOSYSTEM.  When TRUE, tells CKIT open_door() not
  9.    not to expect a filename but a pointer to a structure
  10.    for it's information.  The structure is typed in ckit.h as
  11.  
  12.    typedef struct ckitgeneric {
  13.     char port[6];                   /* COM:X  COM0: equals local  */
  14.     short min_left;                 /* minutes left */
  15.    };
  16.  
  17.    This will allow your door program to read any BBS system file
  18.    and pass the information CKIT needs thru the structure.
  19.    open_door() will still accept the port:AAAA:X.
  20.  
  21.  
  22.    If you don't need this, then no changes are necassary in your source
  23.    code.  However, if you would like make your door compatible with a
  24.    BBS system that CKIT does not support (such as WWIV), then you
  25.    can read the WWIV file, fill in the appropriate CKIT variables
  26.    (ck_fullname, ck_ckit, etc) and the ckitgeneric structure with
  27.    the port and minutes left.  Then set CK_NOSYSTEM = TRUE, and call
  28.    open_door().  You should fill in ck_fullname, ck_baud etc before
  29.    you call open_door() so that the status line will contain the
  30.    proper information.  If you don't, it won't hurt anything and
  31.    CKIT will pick it anyway the next time it updates the status line.
  32.    (either after one minute or by typing ALT-H to scroll thru).
  33.    Be careful you pay attention to the size of the CKIT arrays that
  34.    you will be filling in and you don't exceed them.  For instance,
  35.    ck_fullname is declared as ck_fullname[26] (including null).
  36.    Check the docs for the size/types of the variables.
  37.  
  38. - Added ck_NO_FKEYS.  When TRUE it will disable the local
  39.   sysop keyboard F-keys and ALT keys except for ALT-H.
  40.   Default is FALSE. (F-keys enabled)
  41.  
  42. - Change set_kybd_time() so that each call to it zeros the
  43.   present keyboard timer time
  44.  
  45. - A big one here.  I think I finally tracked down the cause
  46.   of CKIT suddenly hanging at times up while transmitting
  47.   for no reason while it was apprently waiting on CTS when
  48.   CTS  was OK.  I finally managed to duplicate it repeatly and
  49.   found the cause.
  50.  
  51. - Fix a bug were a if you specified USERSFILE=TRUE and there
  52.   was an error opening the users file, it trashed a register
  53.   internally that shouldn't have gotten trashed.  Under normal
  54.   conditions it would not have affected anything. (if the users
  55.   file was opened OK).
  56.  
  57. - If Ckit finds a generic.sys file in use, it will no longer ask
  58.   for the person's first and last name.  You will have to add this
  59.   to your program to do so. i.e.
  60.           if(GENERIC) {
  61.             newline();
  62.             s_puts("Please enter first and last name (MAX 25) ->");
  63.             get_cmdline_raw(45);
  64.             strncpy(fullname, cmdline, 25);
  65.         }
  66.  
  67. - New variable added called short ck_silent.  This variable when TRUE
  68.   will prevent keyboard timeout beeps from being sent to the local
  69.   console.  It can be set/reset manual thru your program and it will
  70.   also following the setting of F7 for PCBoard systems. (caller alarm toggle).
  71.  
  72. - Fixed some ANSI strings in the library so that it will no longer
  73.   attempt to set background color to black.  This should make things
  74.   a little easier for people using background colors other than black
  75.   and will allow you to only change the foreground colors (leaving the
  76.   background alone) when using ck_color();.
  77.  
  78. - Ckit was not always picking the node number up correctly from
  79.   DORINFOx.DEF files. (x being the node number).  Fixed.
  80.  
  81. 09-25-91 v2.08
  82.  
  83. -   Changed ck_DOTS operation.
  84.     Setting ck_DOTS = char will cause char to be echoed to the
  85.     remote/local console.  ck_DOTS = NULL cancels.
  86.  
  87. -   ck_system_time_used() was prototyped incorrectly in ckit.h
  88.     as ck_system_time_left().  Fixed.
  89.  
  90. -   Some variables in ckit.h did not have the "ck_" prefixed
  91.     to the variable name.  Fixed.
  92.  
  93. -   Added support to MBBS systems. (PCBoard clone found in largely Europe).
  94.  
  95. -   Changed ck_set_ANSI() to accept TRUE/FALSE (short) depending
  96.     whether or not the user wanted to turn ANSI compability ON or OFF.
  97.     The previous ck_set_ANSI() toggled this setting.  The prototype
  98.     for ck_set_ANSI is now -  short  ck_set_ANSI(short) where the short
  99.     is either TRUE/FALSE.  (1 or 0).  It returns whatever you pass it.
  100.  
  101.     Why is this routine necassary?   When C-kit first opens a system file
  102.     it determines from the file whether the wanted the user wants
  103.     ANSI control, (ansi_NG will be set, GRAPHICS FALSE) OR if they wanted
  104.     ANSI control with graphics (ansi_NG false, GRAPHICS TRUE).  To save
  105.     code size and execution time in the internal library rountines
  106.     (such as ck_pos_cursor etc) , there is only one internal variable
  107.     that C-kit checks to see if ANSI was desired.  This routine only becomes
  108.     necassary when a user of your door is using generic.sys.  The
  109.     generic.sys has no way of knowing whether the user wanted ANSI or
  110.     has ANSI selected.   If the door program detects that a generic.sys
  111.     file is being used, it should then stop and ask if the user desires
  112.     ANSI control and if the user wants ANSI control with color.
  113.     set ansi_ng TRUE, graphics FALSE  and ck_set_ANSI(TRUE)  (ansi w/o color)
  114.     set ansi_ng FALSE, graphics TRUE  and ck_set_ANSI(TRUE)  (ansi w/color)
  115.     set ansi_ng FALSE, graphics FALSE and ck_set_ANSI(FALSE) (no ansi)
  116.  
  117.     Notice that ck_set_ANSI() is the logical OR'ing of the other two
  118.     variables (ansi_ng and graphics) which is what C-kit does at the
  119.     begining of a door.  That way instead of doing this each time
  120.     routines such as ck_pos_cursor() etc.. is called it only has to
  121.     check one variable making the code smaller and faster.
  122.  
  123. -   Changed ck_dos_shell() to use the spawnlp() funtion in C.
  124.     The syntax for ck_dos_shell() has changed.  It is now
  125.     prototyped as ck_dos_shell(char *, char *); where
  126.     the 1st string pointer is the program to execute and
  127.     the 2nd string pointer is the command line arguments
  128.     to be passed to the program. Example taken from
  129.     CKITDEMO.C.  It should return an error level correctly
  130.     now reguardless of which compiler you are using.
  131.     The max. DOS limit for the length of cmd line arguments
  132.     is 128 chars so the 2nd string pointer should not exceed this.
  133.  
  134.    void    filexfer(void) {
  135.    sprintf(zmodem_cmds, "portx %X,%X pB4096 pa3000 handshake cts sz %s", \
  136.             uart_base, irq, doc_filename);
  137.     if(dos_shell("dsz", zmodem_cmds)) {
  138.         s_puts("\n\aTransfer aborted");
  139.     } else {
  140.         s_puts("\nTransfer complete");
  141.     }
  142.  
  143. -   There was a minor change in the ckit.h file under the
  144.     users structure.  Added user.packed_byte after user.protocol.
  145.     This location had not been used in previos PCBoard releases.
  146.     Changed ck_user.last_read to ck_user.last_read[39] in
  147.     user file structure.
  148.  
  149. -   Yes, Gary, you no longer have to use word alignment when using
  150.     the user structure or ck_update_user() function!.  This means
  151.     also that Microsoft C users will need to add the Zp1 switch
  152.     on the command line.  Zp1 tells MSC to pack structures on
  153.     1 (BYTE) bounderies.
  154.  
  155. 08-18-91 v2.0
  156.  
  157. -   It is not necassary to use WORD alignment EXCEPT if you
  158.     plan on using the user structure or the update_user() function.
  159.     Otherwise, BYTE or WORD alignment should work OK.
  160.  
  161. -   Added the short ck_system_time_used(void); function.
  162.  
  163. -   ALL ckit's variables/functions now begin with the letters "ck_"
  164.     See upgrade file.
  165.  
  166.  -  Added ck_DOTS.  This will cause dots "." to be echoed to
  167.     the screen when true and using one of the keyboard inputs.
  168.  
  169.  -  Fixed fullname so that it will display more than 2 names for
  170.     PCBboard 14.5.
  171.  
  172.  -  Ckit will no longer exit your program on it's own.  If open_door()
  173.     fails, it will now return an error code based what the problem it
  174.     had.  If open_door() is successful,  it will return a NULL.
  175.     The error codes are as follows:
  176.      ==========
  177.         1   ;Unable to open BBS system file (pcboard.sys,door.sys etc)
  178.         2   ;Problem reading BBS system file
  179.         3   ;Unrecognized BBS file type
  180.         4   ;Unable to open pcboard USERS file
  181.         5   ;Invalid User record or problem seeking to user record
  182.         6   ;Problem reading USER record
  183.         7   ;PORT command syntax error
  184.         8   ;Fossil driver specified but no Fossil driver installed
  185.         9   ;Memory allocation problem
  186.  
  187. -   Added ability to change ALL of Ckit's exit message and they can be
  188.     of any length.  The code looks for an array of pointers to the exit
  189.     messages and uses the option variable to pick which one to print.
  190.     This pointer to the array of pointer is now public so you can
  191.     define you own array of pointers to the 5 exit messages.  They must
  192.     be in this order.  See ck_logoff_msgs;
  193.  
  194. -  display_file() will only print a "generic" message now.
  195.    "ERROR: Unable to open file!\a\r\n".  If you want it to print
  196.    a specific file error message, the you need to change error_msg11.
  197.    This message is limited to 47 characters NOT including the NULL terminator.
  198.    strcpy(error_msg11, "\a\nUnable to locate CKIT.DOC");
  199.         if(display_file(doc_filename)) {
  200.                 newline();
  201.         };
  202.  
  203. -  Added set keyboard time out routine.  This will allow the door author
  204.    to set keyboard timer.  See set_kybd_time();
  205.  
  206. -  The keyboard timer will not beep locally now if display has been turned
  207.    off.  (display = FALSE).
  208.  
  209. -   Added ability to change Ckit's general purpose messages.
  210.     See ck_gen_msgs;
  211.  
  212. -    Added system_time_used().   This will report back the number of minutes
  213.      since the door was opened.  It does include time used in previous calls.
  214.      You can use this function along with mins_left_system() to create
  215.      you prompt the same way display_time() does.
  216.      s_printf("( %d used, %d left)", system_time_used()+prev_used, \
  217.                                       mins_left_system()+time_credit);
  218.  
  219. -   The global variable option will now be available BEFORE a call to
  220.     close_door() is made.  If DUMP_USER goes TRUE, you can now check
  221.     option to see why it went TRUE BEFORE calling close_door().
  222.  
  223. -   Fixed a problem in the large model libraries
  224.     with updating users record.
  225.  
  226. -  Change syntax of ansi_NG to ansi_ng in MSC libraries.
  227.  
  228. -   Fixed a problem with the port command that only occured
  229.     if port was passed as the 3rd argument
  230.  
  231. -   Changed get_cmdline() to accept chars > than ASCII 128
  232.  
  233. -   Added switch for ansi when using PCB14.5+ pcboard.sys file
  234.     to know if the caller wanted ANSI but no color.
  235.  
  236. -   Ckit was not allowing ANSI cursor commands if the door.sys file
  237.     had the user set for ANSI with no graphics.  (ansi_ng).  Fixed.
  238.  
  239. -   Added a new variable short non_ibm.  This indicates whether the caller
  240.     called using 7 bits instead of 8 bits.  Using 7 bits doesn't allow
  241.     for IBM graphic characters above 128 to be displayed correctly.
  242.  
  243. -   Added time_credit, and mins_left_system() to the door documentation.
  244.     These were always available but was left out of the documentation
  245.     for some unknown reason..:)
  246.  
  247. -   Added two more variables:
  248.     short uart_base -  will contain the base address of the port in use.
  249.     short irq - will contain the interrupt request in use.
  250.  
  251. -   Corrected a problem with display_file again.. Also rearranged
  252.     and optimized some code in the display_file().   You should
  253.     see a SUBSTANTIAL improvement in the way display_file works for
  254.     speed.
  255.  
  256. -   Increased the strings main_dir[] and gen_dir[] from 15 chars.
  257.     to 80 characters.
  258.  
  259. -   Added proto's for Ctrl-K set of functions that were left out
  260.     of CKIT.H
  261.  
  262. -   CKIT.H had a variable called current_conference.  This should
  263.     have been called current_conf.  fixed
  264.  
  265. -   If you were using pos_cursor() (ANSI cursor control) and you
  266.     were displaying peices of a string on the same line, and
  267.     you didn't have any line feeds and you went past line 22
  268.     (into the local status bar), Ckit would try and scroll the
  269.     screen each time you called pos_cursor() with a row number
  270.     greater than 22 even though you were still on the same line.
  271.     Fixed.
  272.  
  273.  
  274. 07-15-91
  275. -   Added switch for ansi when using PCB14.5+ pcboard.sys file
  276.     to know if the caller wanted ANSI but no color.
  277.  
  278. -   Ckit was not allowing ANSI cursor commands if the door.sys file
  279.     had the user set for ANSI with no graphics.  (ansi_NG).  Fixed.
  280.  
  281. -   Added a new variable short non_ibm.  This indicates whether the caller
  282.     called using 7 bits instead of 8 bits.  Using 7 bits doesn't allow
  283.     for IBM graphic characters above 128 to be displayed correctly.
  284.  
  285. -   Fixed a problem in the LARGE memory model where it was not reading
  286.     a DORINFOx.DEF file correctly for the graphics preference.
  287.  
  288. 07-08-91  v1.81ß
  289. -   Added time_credit, and mins_left_system() to the door documentation.
  290.     These were always available but was left out of the documentation
  291.     for some unknown reason..:)
  292.  
  293. 07-Jul-91 v1.81ß
  294.  
  295. -   Added two more variables in CKIT.H.
  296.     short uart_base -  will contain the base address of the port in use.
  297.     short irq - will contain the interrupt request in use.
  298.  
  299. -  Optimized some code in the interrupt handlers.
  300.  
  301. 02-Jul-91 v1.81ß
  302.  
  303. -   Corrected a problem with display_file again.. Also rearranged
  304.     and optimized some code in the display_file().   You should
  305.     see a SUBSTANTIAL improvement in the way display_file works for
  306.     speed.
  307.  
  308. -   Increased the strings main_dir[] and gen_dir[] from 15 chars.
  309.     to 80 characters.
  310.  
  311. -   Optimized some other code in CKIT.
  312. 21-Jun-91 v1.81ß
  313.  
  314. -   Added proto's for Ctrl-K set of functions that were left out
  315.     of CKIT.H
  316.  
  317. -   CKIT.H had a variable called current_conference.  This should
  318.     have been called current_conf.  fixed
  319.  
  320. -   If you were using pos_cursor() (ANSI cursor control) and you
  321.     were displaying peices of a string on the same line, and
  322.     you didn't have any line feeds and you went past line 23
  323.     (into the local status bar), Ckit would try and scroll the
  324.     screen each time you called pos_cursor() with a row number
  325.     greater than 23 even though you were still on the same line.
  326.     Fixed.
  327.  
  328. 15-Jun-91 v1.8
  329.  
  330. -   Added support for FOSSIL drivers.  Ckit will now
  331.     detect if a fossil driver is in use.  See the
  332.     open_door() in the docs.  You will need to add
  333.     this to your door doc files.
  334.  
  335. -   Added more capability to inkey().  inkey() will now
  336.     watch time left and set DUMP_USER.
  337.  
  338. -   Included some useful information with using close_door()
  339.     and C's atexit() function.  Door authors need to
  340.     read this! and look at the ckitdemo.c usage of it.
  341.  
  342. -   Fixed a potential problem whereas if exit_msg[] was
  343.     a NULL,  Ckit could get hung up.
  344.  
  345. 05-May-91 v1.76D
  346.  
  347. -   Added chatmode set to TRUE when the sysop drops to DOS
  348.     so the door program can know that a screen re-fresh is
  349.     needed.  See chatmode usage in DOC file for more info.
  350.  
  351. -   Fixed the PORT:XXXX:X cmd, CKIT wasn't picking up the port
  352.     base address/irq correctly.
  353.  
  354.     NOTE DOOR AUTHORS:
  355.        You should include in your documentation the PORT usage
  356.        cmd and compile your door program to accept and pass
  357.        this information to open_door().  Pls see docs.
  358.  
  359. -   Fixed display_file() so it would not display the EOF
  360.     character.
  361.  
  362.  
  363. 24-Mar-91 v1.76
  364.  
  365. -   Added support for RBBS-PC and other systems using the DORINFOx.DEF
  366.     system files.
  367.  
  368. -   Source code for reading PCBoard data files are available on Data-Comp BBS
  369.     and may be linked with your C door program if desired.   RBBS and
  370.     and others will be as they become available.
  371.  
  372. 15-Feb-91 v1.75C
  373.  
  374. -   Not sure what happend 1.75B but anyway, the C version fixed
  375.     a few loose ends.
  376.  
  377. -   Fixed code so that door.sys, wildcat, and generic.sys files are closed
  378.     after a call to open_door().
  379.  
  380. -   Changed so that if sysop is logged on,  (using pcboard.sys),  the
  381.     firstname will be set to what is in the pcboard.sys file instead
  382.     of "sysop".
  383.  
  384. -   Added a pointer to the internal buffer that pcboard.sys is held and
  385.     which will be used to update pcboard.sys when returning to the board.
  386.     Added pointer to internal pcboard.sys buffer - BYTE *pcbsysbuf
  387.  
  388. -   Changed logoff_msg[] to exit_msg[].   logoff_msg[] is now displayed if
  389.     the user says good-bye within the door.  See CKIT.H for the macros
  390.     LOGOFF and EXITDOOR.  The complete log-off routines and source code
  391.     for reading pcboard.dat files are on Data-Comp BBS.  These can be
  392.     linked with CKIT if you want to add a log-off feature for PCBoard
  393.     doors.
  394.  
  395. 24-Nov-90 v1.75
  396. -   Fixed a problem in the last release for sysops using the
  397.     pcboard.sys file.  CKIT would always report "Time adjusted
  398.     for upcoming event".
  399.  
  400. 12-Nov-90 v1.75
  401. -   Added a function to update user record IF you are writing the
  402.     door for use with PCBoard 14.5.  The new function name is
  403.     update_user().
  404.  
  405. -   Added the ability to turn on and off Control K checking, if
  406.     desired.  This involves the additon of 3 functions.
  407.     CtrlK_ON, CtrlK_OFF, and check_CTRL_K.
  408.  
  409. -   Added chat mode via function key 10.  Also a variable
  410.     short chatmode is set to TRUE when chat mode has taken
  411.     place.
  412.  
  413. -   CKIT will now read a file called GENERIC.SYS.  This file
  414.     will allow the door to work on ANY BBS system, depending on
  415.     the level of information required for door.
  416.  
  417. -   Added some enhancements to the status line for the COM port
  418.     status.  It will now display the status of CTS, DTR, DSR
  419.     and DCD.
  420.  
  421. -   Fixed a problem with ALL the medium models.  Also fixed a
  422.     problem with the delay() function in the MSC libraries.
  423.     There is also a large memory model now available for
  424.     registered users.
  425.  
  426. 16-Sep-90 v1.71
  427.     Release of version 1.71
  428.         This release was intended to be a maintenance release.
  429.         There were, however, a few things added and a couple items
  430.         repaired.
  431.  
  432. -   Added a function to re-enable keyboard timer after it had been
  433.     turned off by a previous call to debug_on().  The new function
  434.     name is debug_off().
  435.  
  436. -   Added the ability to define your own error message for the
  437.     display_file() function.  error_msg11[40].  If you don't
  438.     define it, CKIT will use it's default.
  439.  
  440. -   More and more and more documentation updates and examples.
  441.     Too many additions to list here.  Mostly more examples and
  442.     better explanations.
  443.  
  444. -   Fixed the display_file() function so that it will properly
  445.     handle files that did not contain line feeds.  There will
  446.     also be a future release of display_file() that will handle
  447.     the ANSI screens better and include PCB color macros.
  448.  
  449. -   Close door was clearing the screen when exiting.  It no
  450.     longer does this.
  451.  
  452. -   Fixed the More: (Y)es, (N), (NS)non-stop prompt.  Somehow
  453.     in the last release, the last part of the string was missing
  454.     from the source code.
  455.  
  456. -   Also missing in the last release source code was the public
  457.     declares for transmit_modem, set_r_c and another function.
  458.     Not sure how this happened but it did.  Your linker will now
  459.     find these.
  460.  
  461. -   The page_length should be accurate now.  The bug that was in
  462.     PCBoard's 14.5 door.sys has been fixed and I changed CKIT to
  463.     give the true page length.
  464.  
  465. 01-Sep-90 v1.6
  466.     Release of version 1.7
  467.  
  468. -   Added support for reading scan codes from non-standard keys on
  469.     IBM keyboards. (F1-F10, Arrows, PgUp, PgDn, etc).
  470. -   Ability to define the logoff message and color
  471. -   Ability to change the port address and IRQ if needed.
  472.     PORT:AAAA:A where AAAA equal to port base address and A is IRQ
  473.     i.e PORT:02F8:3 would be the same as COM2.
  474. -   Additonal variables:
  475.     short scan_code, short logoff_color, char logoff_msg[40], short key_source
  476. -   Additonal functions:
  477.     short wait_keypress(void) for "hot_keys"
  478. -   open_door()'s prototype has been changed.  This allows one to pass
  479.     as many parameters as desired (up to the max. of 3), without having
  480.     to pass any dummy pointers.
  481. -   Fixed a problem in the cmd line where certain command line
  482.     parameters (callinfo.bbs and pcboard.sys) passed were case sensitive.
  483.     This caused CKIT to read them incorrectly.
  484. -   Cleaned up the status line display when certain information was not
  485.     available depending on which file was opened. (pcboard, door.sys, callinfo)
  486. -   Additional documentation added and improvements.
  487.     Once again, see open_door() for some changes and key_source.
  488.     The option variable documention has also been updated.
  489.     Also see the ckitdemo.c for more examples.
  490.  
  491. 19-Aug-90 v1.6
  492.     Release of version 1.6
  493.         Added support for WILDCAT! systems.  The following additonal
  494.         information is available for WILDCAT! users.
  495.         Additional WILDCAT! variables:
  496.                 monitor_type[5], max_sec[5], high_msg[5], door_opened[5],
  497.                 BYTE name_in_user
  498.         Additional variables for general use by any system:
  499.         short WILDCAT, protocol[15], security_level[5]
  500.  
  501.         See the CKIT.DOC for explanations and the compatibility chart.
  502.  
  503.   -     clr_screen() was not properly handling NON_ANSI callers.  fixed
  504.  
  505.   -     Under certain circumstances, a parsing routine in CKIT could get
  506.         hung up.  fixed.
  507.  
  508.   -      Reduction of code size by about 5% relative.
  509.  
  510.   -     Fixed some documentation errors.  In particular, you may want to
  511.         reprint the open_door() page and progname variable page.
  512.         Also there are new variables listed above in the doc file and
  513.         the compatibility chart has been upgraded.
  514.  
  515.   -     Look over the NEW CKITDEMO.C and CKITDEMO.H files.  The demo
  516.         demostrates some use of added features, (zmodem download,
  517.         pcb, wildcat! etc).
  518.  
  519. 13-Aug-90 v1.5A
  520.     Release of version 1.5A
  521.         I can't believe I did this.  After telling everyone to make
  522.         sure and not have debug_on in the released versions of their
  523.         door,  I released CKIT with debug on!.  As a result, the
  524.         keyboard timer and some other things would not work
  525.         properly. This release with a code date 8/13/90 will work
  526.         properly.
  527. 11-Aug-90 v1.5
  528.     Release of version 1.5
  529.         Ckit is now compatible with PCBoard version 12.0, 14.x-14.5, GAP
  530.         BBS, and other BBS systems using the standard door.sys file.
  531.         The level of compatiblity is up to the door author and the type
  532.         of information needed.  There is a lot of information available,
  533.         but by keeping this to a minimum, the door author can write his
  534.         door to be compatible with all the systems above with no extra
  535.         instructions to the user of the door except for the PCBoard
  536.         sysop to use either pcboard.sys or door.sys.  (Version 12.0
  537.         would have to use pcboard.sys and all others use door.sys.)
  538.         CKIT will automatically determine which file to read and which
  539.         PCBoard version is in use.  See the compatiblity section in this
  540.         doc file for more information and a Variables Quick-Reference.
  541.  
  542.     -   Added more features and cosmetics to the program's status line
  543.         for the sysop's use...
  544.         F8      - Return user to BBS.  This was always there, I just
  545.                   forgot to document it.  :)
  546.         F5      - Shell to DOS
  547.         ALT-X   - Sets the PCBoard's exit to DOS after caller flag
  548.         ALT-N   - Sets the PCBoard's sysop on next after caller flag
  549.         ALT-H   - Display Help Screen on sysop status line, and next
  550.                   ALT-H will show com port status
  551.  
  552.    -    Functions added are:
  553.  
  554.         dos_shell(char *) - Allow door author to shell to another program
  555.                               for execution if desired.  See CKIT.DOC
  556.  
  557.         _debug_on(void);  - Turns off keyboard timer and other things
  558.                             while door author is debugging his door.
  559.  
  560.   -     Additional variables:
  561.         short   PCB, PCB12, expert, parity, *conferences, current_conference,
  562.                 caller_bday[8], main_dir[15], gen_dir[15], sysop_name[15],
  563.                 sysop_alias[15], page_length, ansi_ng, default_color[2],
  564.                 last_dir_scan[8], daily_files[4], total_doors[4],
  565.                 msgs_left[4], max_files[4], upload_Kbytes[10],
  566.                 download_Kbytes[10], dload_total[5], upload_total[5]
  567.  
  568.   -     Added my own math routine so you no longer have to include
  569.         MATH.LIB if you are using TC compiler.
  570.  
  571.   -      Reduction of code size by about 20% relative.
  572. 25-Jul-90 v1.1
  573.     Release of version 1.1
  574.         This release was a little premature.  I went ahead and released
  575.         it since it did fix a couple of problems. "*" indicates a new
  576.         feature.  Pages in CKIT.DOC for display_file(), input(),
  577.         purge_buffer(), check_CR(), check_keypress() have been updated/added
  578.         and you may want to reprint these.
  579.  
  580.         Display_file() -
  581.         a. It will now put a space before the filename when it reports a
  582.            problem.
  583.         b. The EOF is no longer displayed.
  584.         c. display_file() will now correctly display text files that have ANSI
  585.            codes embedded in the file.
  586.         d. CTRL-K now works on the local keyboard. (The remote keyboard was OK)
  587.       * e. display_file() will now return TRUE/FALSE to indicate whether a
  588.            problem had occured.  You can then check the C global variable
  589.            _errno for cause of error.
  590.       * f. Fixed problem when user.page_length was equal to 0.  See the
  591.            CKIT.DOC for hints on how to take advantage of this.
  592.  
  593.     2. display_time() -  Would not update the time used until after
  594.                         two carriage returns were entered.  fixed
  595.     3. input()
  596.  
  597.         a. Control characters or any non-displayable characters below 1F hex
  598.            will not increase the counter.  This corrects the problem of being
  599.            to backspace too far and erasing the prompts.
  600.       * b. Each call to input() now will purge the buffer you wish to place
  601.            keyboard input.  You should no longer have to include the statement
  602.            memset(buffer, 0, 21) before calling input().
  603.       * c. A new function purge_buffer will purge any buffer to NULLS by
  604.            passing a pointer to the buffer and the size of the buffer.
  605.            i.e purge_buffer(buffer, 0x80).
  606.            This may or may not be useful but is available.
  607.  
  608.          NOTE: There is a seperate purge function for the serial port input
  609.            buffer if you wish to purge it before calling input.
  610.            See CKIT.DOC
  611.  
  612.       * d. New function available called check_keypress. Checks for any
  613.            specific ASCII character.
  614.            This function will return TRUE/FALSE as defined in CKIT.DOC.
  615.  
  616.       * e. Another new function called check_CR will check for a carriage
  617.            return and return TRUE/FALSE.
  618.  
  619.     4. get_nextpar() - Would only accept 2 stacked commands, fixed.
  620.  
  621.   While working on the get_nextpar() function,  I went ahead and targeted it
  622.   for some optimization along with the get_cmdline() function.
  623.   The results are:
  624.    get_nextpar() is now smaller and 7% faster.
  625.    get_cmdline() is now smaller and 45% faster.
  626.  Overall, with all the corrections and added functions the .obj file for
  627.  CKIT is now 2% SMALLER than before.
  628.  
  629. 25-Jun-90 v1.05
  630.     Release of version 1.05
  631.  
  632.         Added support for 16550AN UART.  The code will take advantage
  633.         of 16550AN chip if present.  Added caller log function.
  634.         Begin including the medium library with Zip.  This was done
  635.         because of the self-registering feature.  Took out time limit
  636.         that CKIT originally had.  Future releases will not have any
  637.         limitations.
  638.  
  639. 20-Jun-90 v1.0
  640.     Release of version 1.0C
  641.  
  642.         Fixed another minor problem where the assembler I used had
  643.         converted all my functions to uppercase in the .obj file.
  644.         I thought the default was to not do that but as it turns out
  645.         it wasn't.  Now all the library function names/variables are
  646.         the right case.
  647.  
  648. 16-Jun-90 v1.0
  649.     Release of version 1.0B
  650.  
  651. 01-Jun-90 v1.0
  652.     Release of version 1.0
  653.  
  654. 01-May-90 v1.0
  655.    Initial BETA testing as CKIT10ß.ZIP
  656.  
  657.         Beta 1.0 release.  The next release of CKIT, I predict, should have
  658.         about a 15% to 20% reduction in code size. If you find any problems
  659.         with CKIT, please contact me at the phone numbers/address above.
  660.  
  661.